<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        //（2）splice(x,y,z) 从x开始清除长度为y的元素，并用z替换。【该方法返回被替换部分】
        // z类似于item1, ..., itemX这样。@@@原来的数组改变。【起始索引0，倒数-1。包含起始start】
        // (2-1)此处传入的是单参
        //下面传入的是一参
        // （2-1-1）单参正数：
        // 此时将会删除包含start开始后的所有数组元素。（包括删除start）
        var sky2 = [1, 2, 3, 4, 5, 6];
        var resulet2 = sky2.splice(1);
        console.log(sky2); //[1]//截取后剩余的还是数组，只是仅仅有一个元素1.
        console.log(resulet2); //[2, 3, 4, 5, 6]
        //(2-1-2)单参负数：
        // 传入参数为负值【从右往左数，起始位置是-1】
        var sky2_again = [1, 2, 3, 4, 5, 6];
        var resulet2_again = sky2_again.splice(-2);
        console.log(sky2_again); //[1, 2, 3, 4]//截取后剩余的还是数组
        console.log(resulet2_again); //[5,6]
        // (2-2)两参：起始和长度
        // 此处传的是两参，第一个是其实索引，第二个参数是删除的长度。如果2参是0，
        // 则不删除，变成插入。
        var sky1 = [1, 2, 3, 4, 5, 6];
        var result1 = sky1.splice(1, 3);
        console.log(sky1); //[1, 5, 6]
        console.log(result1); //[2, 3, 4]
        var skyTwo = [1, 2, 3, 4, 5, 6];
        var resultTwo = skyTwo.splice(1, 0)
        console.log(skyTwo); //[1, 2, 3, 4, 5, 6]
        console.log(resultTwo); //[]//因为传入的第二个参数是0，所以没截取长度0，为空。
        //(2-3)三参及以上：长度不为0.【表示替换】
        // 参数个数大于等于3（大于等于3参数，是替换）
        var sky = [1, 2, 3, 4, 5, 6];
        var result = sky.splice(1, 4, "a", "b");
        console.log(sky); //[1, "a", "b", 6]
        console.log(result); //[2, 3, 4, 5]
        var sky_and = [1, 2, 3, 4, 5, 6];
        //（2-3-1）@@@>三参的时候，二参为0，这种特殊情况变成插入。【表示插入】
        var relsult_and = sky_and.splice(1, 0, "a");
        console.log(sky_and); //[1,"a",2,3,4,5,6]//一定要注意这个插入的位置
        console.log(relsult_and); //[]
        //（2-3-2）>三参的时候，参数还可以是数组【表示插入】
        var other = [1, 2, 3, 4, 5, 6];
        var other_res = other.splice(2, 3, 9, 9, [11, 12]);
        console.log(other); //[1,2,9,9,[11,12],4,5,6]
        console.log(other_res); //[3,4,5]
    </script>
</body>

</html>